import { Input } from '../../core';
import { IAction } from '../interface';

/**
 * 命令处理行为
 *
 * @author chitanda
 * @date 2021-04-18 13:04:49
 * @export
 * @abstract
 * @class ActionBase
 * @implements {IAction}
 */
export abstract class ActionBase implements IAction {
  /**
   * 命令处理
   *
   * @author chitanda
   * @date 2021-04-18 13:04:59
   * @abstract
   * @param {Input} [inputs]
   * @param {Input} [options]
   * @param {string[]} [extraFlags]
   * @return {*}  {Promise<void>}
   */
  abstract handle(input?: Input, options?: Input, extraFlags?: string[]): Promise<void>;
}
